Skip to main content
Version: current

Packages

Summary

RouterOS features are organized into packages, which are files with a .npk extension. Most features are bundled in the routeros package, while some features are provided as separate packages. Installing an additional .npk package enables specific features such as Containers or The Dude. Package files are provided exclusively by MikroTik and cannot be created by third parties. You can download extra packages from our download page, or add them directly from your router.

Minimum requirements

RouterOS requires only the system package to operate at a bare minimum, but for most devices standard operation and features are available when you install the "routeros" bundle package.

For wireless devices, several wireless packages are available, depending on the hardware you are using:

  • Starting with RouterOS 7.13, the routeros (system) package and one of the following wireless packages are needed for the basic operation of a simple home router:
    1. 802.11ax WiFi APs require radio drivers, which are provided by the wifi-qcom package (for RouterOS versions earlier than 7.13 it was called the wifiwave2 package).
    2. Previous generation WiFi APs require a wireless package.

More information about which wireless package to use is available in the Wireless manual.

Other packages are optional and not required for a home router. Install them only if you are sure of their purpose.

Installing packages

Manual download

To manually download and install extra packages, download the necessary package from the MikroTik download page, selecting the RouterOS section based on your device's architecture found in the System/Resources menu. Extract the archive and upload the required package to your router by using any convenient method, and proceed to reboot the router.

Download directly from the router

You can download and install extra packages directly from the router by using the System Packages section.

  1. After executing the Check For Updates command, available packages will be listed in the Packages list, but they will show up as disabled. The available package list comes from the MikroTik download server. Those packages are available, but not yet on your router (as indicated by the flags X (Disabled) and A (Available)).
  2. To download an extra package, first select the package and select Enable.
  3. To make the router download the package, select Apply Changes and the device will ask for a reboot.
Package listAfter loading the list with "Check for updates"Enabling a packageSelecting "Apply Changes"




Verification of install

To make sure the package is installed successfully, check the "Log" section after the device is rebooted. If the package is installed successfully, you will see a message about it. If there have been conflicts or some requirement is not met, this will be explained, so you can take further steps to rectify that.

Success in the log entriesFailure in the log entries

System packages

PackageDescription
routeros-arm(arm)System package for arm devices.
routeros-arm*(arm64)*System package for arm64 devices.
routeros-mipsbe(mipsbe)System package for mipsbe devices.
routeros-mmips(mmips)System package for mmips devices.
routeros-smips (smips)System package for smips devices.
routeros-tile (tile)System package for tile devices.
routeros-ppc (ppc)System package for ppc devices.
routeros (x86, CHR)System package for x86 installations and CHR environment.

Extra packages

Package (supported architecture)Description
calea (arm, arm64, mipsbe, mmips, tile, ppc, x86, CHR)Data gathering tool for specific use due to "Communications Assistance for Law Enforcement Act" in the USA.
container (arm, arm64, x86, CHR)Container implementation of Linux containers, allowing users to run containerized environments in RouterOS.
dude (arm, arm64, mmips, tile, x86, CHR)Dude tool that allows monitoring of the network environment.
extra-nic (arm64)ARM64 CPU architecture Network Interface Card (NIC) support, recommended for UEFI installation on non-MikroTik boards.
gps (arm, arm64, mipsbe, mmips, tile, ppc, x86, CHR)Global Positioning System device support.
iot (arm, arm64, mipsbe, mmips, tile, ppc, x86, CHR)Enables:
  • MQTT
  • LoRa (for devices with LR8/9/2 miniPCIe cards)
  • Bluetooth (for devices with Bluetooth chip)
  • GPIO (for devices with GPIO pins)
  • Modbus (for devices with RS485 port)
iot-bt-extra (arm, arm64)A package for ARM and ARM64 devices which enables the use of USB Bluetooth adapters (must support LE 4.0+).
*note: Not all adapters were tested. We cannot guarantee beforehand that a specific adapter will work.
lora (arm, arm64, mipsbe, mmips, tile, ppc, x86, CHR)Dummy package for LoRa support. LoRa package is not obligatory anymore and is left only for compatibility reasons. LoRa functionality is moved into the iot package.
lte*(mipsbe)*Required package only for SXT LTE (RBSXTLTE3-7), which contains drivers for the built-in LTE interface.
rose-storage (arm, arm64, tile, x86, CHR)Additional enterprise data center functionality in RouterOS, supporting disk monitoring, improved formatting, RAIDs, rsync, iSCSI, NVMe over TCP, NFS, and improved SMB.
switch-marvell (arm64)Mandatory driver package for CRS8xx series switches.
tr069-client (arm, arm64, mipsbe, mmips, smips, tile, ppc, x86, CHR)TR069 Client package.
ups(arm, arm64, mipsbe, mmips, tile, ppc, x86, CHR)APC UPS management interface.
user-manager(arm, arm64, mipsbe, mmips, tile, ppc, x86, CHR)MikroTik User Manager server for controlling Hotspot and other service users.
wifi-qcom (arm, arm64)Mandatory driver package for 802.11ax interfaces. Introduced in 7.13. WiFi CAPsMAN support comes with the system package.
wifi-qcom-ac (arm)Optional WiFi driver package for compatible 802.11ac interfaces. Introduced in 7.13.
wireless (arm, arm64, mipsbe, mmips, tile, ppc, x86, CHR)Utilities and drivers for managing WiFi (up to 802.11ac) and 60GHz wireless interfaces. This package is bundled into RouterOS for versions up to 7.12. Starting with 7.13, it is a separate package.
The wireless package conflicts with wifi-qcom and wifi-qcom-ac packages — they cannot be active at the same time.
zerotier*(arm, arm64)*Enables ZeroTier functionality.

Working with packages

Sub-menu: /system/package Sub-menu: /system/check-installation

Commands executed in this menu will take place only on the restart of the router. Until then, you can freely schedule or revert the set actions.

CommandDescription
disableSchedule the package to be disabled after the next reboot. No features provided by the package will be accessible.
downgradePrompt for a reboot. During the reboot process, the router will try to downgrade RouterOS to the oldest version possible by checking the packages that are uploaded to the router.
enableSchedule the package to be enabled after the next reboot.
uninstallSchedule the package to be removed from the router. That will take place during the reboot.
unscheduleRemove the scheduled task for the package.
printOutput information about the packages, such as version, package state, planned state changes, etc.
updateManage the "check-for-updates" channel and perform RouterOS upgrades.
apply-changesApply scheduled changes and reboot the device.

The "Check installation" function ensures the integrity of the RouterOS system by verifying the readability and correct placement of files. Its primary purpose is to confirm the health and status of your NAND/Flash storage.

Menu: The /system/package/update/install ignore-missing command allows upgrading only the RouterOS main package, while omitting packages that are either missing or not uploaded during a manual upgrade process.

Auto install

You can also automatically install packages after uploading them to the router with FTP or SFTP. The package file must be named with the extension *.auto.npk. Once the file is uploaded, the router will automatically go into reboot to install the package. This can be useful for scripting and automation.

The .auto.npk extension in the filename is mandatory for a package to be automatically installed.

Local Update

Instead of connecting directly to MikroTik servers, you can upload package files to one of your local RouterOS devices and use it as a local package server.

Sub-menu: /system/package/local-update

CommandDescription
download-allDownload all compatible (matching device architecture) packages that are available on the local package server. Downloaded packages are saved in the root directory.
downloadDownload specific compatible (matching device architecture) packages that are available on the local package server. Downloaded packages are saved in the root directory.
refreshRefresh and check the list of available compatible (matching device architecture) packages on the local package server.

The server from which to get the package can be defined in /system/package/local-update/update-package-source/.

Update-package-source properties

PropertyDescription
address (IPv4 address [IPv4]/IPv6 address [IPv6]; Default: )Address of the local package server.
user (string; Default: )Username that is used for accessing the local package server.
password (string; Default: ) sensitivePassword that is used for accessing the local package server.

You can also mirror packages (for all architectures) from your main local package server by using /system/package/local-update/mirror/. Downloaded packages are saved into the packs folder in the root directory.

Mirror properties

Sub-menu: /system/package/local-update/mirror

PropertyDescription
primary-server (IPv4 address [IPv4]/IPv6 address [IPv6]; Default: )Address of the primary local package server.
secondary-server (IPv4 address [IPv4]/IPv6 address [IPv6]; Default: )Address of the secondary local package server.
user (string; Default: )Username that is used for accessing the local package server.
password (string; Default: ) sensitivePassword that is used for accessing the local package server.
check-interval (time [HH:MM:SS]; Default: 24:00:00)Time interval at which the device checks the local package server for new package availability. If a new package is located, the package download begins. Only downloads the packages that are not already present on the device.
enabled (yes | no; Default: no)Whether to enable the periodical check and download of packages from the local package server.
CommandDescription

Examples

Listing packages

The zerotier package is disabled, but installed; the iot package is available on the server, but has not been downloaded to the router and enabled; the dude package is scheduled for uninstall.

/system/package/print
Flags: X - DISABLED
Columns: NAME, VERSION, SCHEDULED
# NAME VERSION SCHEDULED
0 dude 7.9 scheduled for uninstall
1 X zerotier 7.9
2 routeros 7.9
3 XA iot 7.9

Uninstall package:

/system/package/uninstall dude; /system/reboot;
Reboot, yes? [y/N]:

Disable package:

/system/package/disable zerotier; /system/reboot;
Reboot, yes? [y/N]:

Downgrade:

/system/package/downgrade; /system/reboot;
Reboot, yes? [y/N]:

Cancel the uninstall or disable action:

/system/package/unschedule zerotier;
/system/package/unschedule dude;